package com.star.uc.infras.repository.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.star.common.orm.contract.entity.BasePO;
import com.star.common.core.contract.enums.StatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 手机号、邮箱，Ip的分，时，天的限制发送数量(UserLimitCount)表实体类
 *
 * @author 周恒哲
 * @since 2023-11-01 18:17:28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("user_limit_count")
@Schema(description = "限制发送数量")
@EqualsAndHashCode(callSuper = true)
public class UserLimitCountPO extends BasePO {

    /**
     * 限制值，ip或者邮箱或者手机号
     */
    @Schema(description = "限制值，ip或者邮箱或者手机号")
    private String limitValue;
    /**
     * 限制类型，ip-ip地址，email-邮箱，phone-手机号
     * @see com.star.uc.contract.enums.LimitTypeEnum
     */
    @Schema(description = "限制类型，ip-ip地址，email-邮箱，phone-手机号")
    private String limitType;
    /**
     * 1分钟内的限制次数
     */
    @Schema(description = "1分钟内的限制次数")
    private Integer limitMinuteCount;
    /**
     * 1小时内的限制次数
     */
    @Schema(description = "1小时内的限制次数")
    private Integer limitTimeCount;
    /**
     * 1天内的限制次数
     */
    @Schema(description = "1天内的限制次数")
    private Integer limitDayCount;
    /**
     * 状态
     * @see StatusEnum
     */
    @Schema(description = "状态")
    private Integer status;
}

